﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using KTXD.Entities;
using KTXD.Data;

namespace UserKTXD.Controls
{
    public partial class ControlDangNhap : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            txtTenDangNhap.Attributes.Add("onkeypress", "return clickButton(event,'" + cmdLogin.ClientID + "')");
            txtMatKhau.Attributes.Add("onkeypress", "return clickButton(event,'" + cmdLogin.ClientID + "')");
            if (!IsPostBack)
            {
                if (Request.Cookies["DangNhap"] != null)
                {
                    HttpCookie cookie = Request.Cookies.Get("UserNameAndPassword");
                    if (cookie != null)
                    {
                        litTen.Text = DataRepository.ThanhVienProvider.GetByTenTruyCap(cookie.Values["UserName"]).HoTen;
                        pn1.Visible = false;
                        pn2.Visible = true;
                    }
                    else
                    {
                        pn1.Visible = true;
                        pn2.Visible = false;
                    }
                }
                else
                {
                    pn1.Visible = true;
                    pn2.Visible = false;
                }
            }
        }

        protected void cmdThoat_Click(object sender, EventArgs e)
        {
            // khai báo biến cookie
            HttpCookie cookie_username = new HttpCookie("DangNhap", ""); /* Gán thời gian sống của Cookie là thời gian hiện tại*/
            DateTime thgian = new DateTime();
            thgian = DateTime.Now.Date;
            cookie_username.Expires = thgian;

            // Thêm Cookie
            Response.Cookies.Add(cookie_username);
            // làm tươi
            pn1.Visible = true;
            pn2.Visible = false;
        }

        protected void cmdLogin_Click(object sender, EventArgs e)
        {
            ThanhVien ent_ThanhVien = DataRepository.ThanhVienProvider.GetByTenTruyCap(txtTenDangNhap.Text);
            if (ent_ThanhVien == null)
            {
                ScriptManager.RegisterStartupScript(upDangKy, this.GetType(), Constants.THATBAI,
                                                        "alert('Người dùng không tồn tại trong hệ thống, Xin vui lòng thử lại. Xin cảm ơn!');", true);
                txtTenDangNhap.Focus(); return;
            }
            else if (txtMatKhau.Text.Equals(ent_ThanhVien.MatKhau))
            {
                ScriptManager.RegisterStartupScript(upDangKy, this.GetType(), Constants.THATBAI,
                                                        "alert('Bạn đã đăng nhập thành công vào hệ thống.');", true);
                WriteCookie();
                pn1.Visible = false;
                pn2.Visible = true;
                HttpCookie cookie = Request.Cookies.Get("UserNameAndPassword");
                litTen.Text = cookie.Values["UserName"];
            }
            else
            {
                ScriptManager.RegisterStartupScript(upDangKy, this.GetType(), Constants.THATBAI,
                                                        "alert('Mật khẩu không đúng, Xin vui lòng thử lại. Xin cảm ơn!');", true);
                txtMatKhau.Focus(); return;
            }
        }

        protected void WriteCookie()
        {

            HttpCookie cookie = new HttpCookie("DangNhap", "yes");
            cookie.Expires = DateTime.Now.AddHours(12);
            Response.Cookies.Add(cookie);
            cookie = new HttpCookie("UserNameAndPassword");
            cookie.Values.Add("UserName", txtTenDangNhap.Text.Trim());
            cookie.Values.Add("Password", txtMatKhau.Text.Trim());
            Response.Cookies.Add(cookie);
        }

        protected void cmdReset_Click(object sender, EventArgs e)
        {
            txtTenDangNhap.Text = "";
            txtMatKhau.Text = "";
        }
    }
}